﻿// Copyright © 2011 Paul Vanukoff (pvanukoff@gmail.com)

using System;
using Bravura.Core.PluginLib;

namespace Bravura.Native.PluginBase
{
	/// <summary>
	/// Base class for a Filter plugin.
	/// </summary>
	public abstract class Filter : AudioPlugin
	{
		protected double _dryMix = Math.Sqrt(0.5);
		protected double _wetMix = Math.Sqrt(0.5);

		#region Properties

		public double DryMix
		{
			get { return _dryMix; }
			set { _dryMix = value; }
		}

		public double WetMix
		{
			get { return _wetMix; }
			set { _wetMix = value; }
		}

		#endregion

		protected Filter(IAudioPluginHost host, int sampleRate) : base(host, sampleRate)
		{
		}

		#region IFilter

		public void SetDryMix(double mix)
		{
			_dryMix = mix;
		}

		public void SetWetMix(double mix)
		{
			_wetMix = mix;
		}

		#endregion
	}
}
